package com.hspedu.udp;

import java.io.IOException;
import java.net.*;

/**
 * @author DL5O
 * @version 1.0
 */
public class UDPSenderB {
    public static void main(String[] args) throws IOException {

        //创建 DatagramSocket对象，准备发送和接受数据
        DatagramSocket socket = new DatagramSocket(9998);
        //从9998发送数据，将来可能也会接受数据，故这个端口最好和其他程序的端口不一样

        byte[] data ="hello,明天吃火锅".getBytes();//InetAddress.getLocalHost()
        //将需要发送的数据，封装到DatagramPacket中

        //说明:封装DatagramPacket对象 data 内容字节数组，data.length，主机(IP)是一个InetAddress对象，端口
        DatagramPacket packet =
        new DatagramPacket(data, data.length, InetAddress.getByName("192.168.1.101"),9999);
        System.out.println("9998端口:发送数据到9999端口...");
        socket.send(packet);

        System.out.println("9998端口:发送完毕");

        //接受从A发送过来的数据
        byte[] buf  = new byte[1024];
        packet = new DatagramPacket(buf,buf.length);
        System.out.println("9998端口:等待接受数据...");
        socket.receive(packet);//接受数据
        System.out.println("9998端口:数据接收中...");
        byte[] data1= packet.getData();
        int len = packet.getLength();
        String s = new String(data1,0,len);
        System.out.println(s);

        //关闭资源
        socket.close();
        System.out.println("B端关闭");
    }
}
